In a typical data center, such as a cloud data center, a compute device may execute multiple operating systems in corresponding virtual machines (e.g., one virtual machine per customer or per application). In such systems, a hypervisor or other management software executing on the compute device is tasked with controlling which resources (e.g., memory address ranges) each virtual machine is allowed to access. In other words, the underlying hardware and firmware (e.g., the basic input output system (BIOS)) presents an aggregated view of the memory to the software, which then divides the memory among the virtual machines. As such, the compute device consumes processing capacity executing a software layer to manage memory access requests from the operating systems to maintain the separate memory spaces, when that processing capacity could have otherwise been used to increase the speed of execution of an application on behalf of a customer.